package Pacote1;

import grails.test.*
import les.*

class CrudEquipeTests extends functionaltestplugin.FunctionalTestCase {
	
	//Criação de uma equipe sem erros. Colocando as informações de nome e cor do
	//Cracha corretas
	void testCriacaoNormal() {
		get ("/usuario/login")
		
		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		
		redirectEnabled = false
		get ("/equipe/create")
		
		form() {
			nome = "Bandinha"
			corDoCracha = "Verde"
			click "create"
		}
		
		assertRedirectUrlContains "/equipe/show"
		followRedirect()
		redirectEnabled = true
		
		assertContentContains "Equipe criado(a) com sucesso"
		
		assertContentContains "Bandinha"
		assertContentContains "Verde"
	}
	
	//Criação de uma equipe sem erros. Colocando a informação apenas do nome.Como
	//a cor do cracha tem o valor default Vermelho, não dá erro
	void testCriacaoSemCorDoCracha() {
		get ("/usuario/login")
		
		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/equipe/create")
		
		form() {
			nome = "Nova Equipe"
			click "create"
		}
		
		assertContentContains "Equipe criado(a) com sucesso"
		
		assertContentContains "Nova Equipe"
		assertContentContains "Vermelho"
	}
	
	//Criação da Equipe com erro. Se não colocarmos o nome da equipe corre um erro.
	//E confirmamos que uma mensagem de erro é mostrada para o usuário.
	void testNomeVazio() {
		get ("/usuario/login")
		
		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/equipe/create")
		
		form() {
			nome = ""
			click "create"
		}
		
		assertContentContains "O campo nome n&atilde;o pode ficar em branco";
	}
	
}